Method and system for guiding a vehicle with vision-based adjustment

ABSTRACT

Preliminary guidance data is determined for the vehicle during an evaluation time window. A vision module collects vision data from a vision module during the evaluation time window. Vision guidance data is determined from the collected vision data. A vision quality estimator estimates vision quality data for at least one of the vision data and the vision guidance data during the evaluation time window. The vision quality data is based on a regression path and density grid points. An adjuster adjusts the preliminary guidance data to a revised guidance data based on the vision guidance data such that the revised guidance data is registered with or generally coextensive with the vision guidance data, if the vision quality data exceeds a minimum threshold.

This is a continuation-in-part of U.S. application Ser. No. 11/107,114,filed Apr. 15, 2005 now U.S. Pat. No. 7,233,683, which claims thebenefit of U.S. Provisional Application No. 60/641,240, filed Jan. 4,2005 under 35 U.S.C. 119(e).

FIELD OF THE INVENTION

This invention relates to a method and system for guiding a vehicle withvision adjustment.

BACKGROUND OF THE INVENTION

Global Positioning System (GPS) receivers have been used for providingposition data for vehicular guidance applications. However, althoughcertain GPS receivers with differential correction may have a generalpositioning error of approximately 10 centimeters (4 inches) during amajority of their operational time, an absolute positioning error ofmore than 50 centimeter (20 inches) is typical for five percent of theiroperational time. Further, GPS signals may be blocked by buildings,trees or other obstructions, which can make GPS-only navigation systemunreliable in certain locations or environments. Accordingly, there is aneed for supplementing or enhancing a GPS-based navigation system withone or more additional sensors to increase accuracy and robustness.

SUMMARY OF THE INVENTION

A location-determining receiver collects preliminary location data for avehicle during an evaluation time window. Preliminary guidance data isdetermined from the preliminary location data. A vision module collectsvision data during the evaluation time window. Vision guidance data isdetermined from the collected vision data. A vision quality estimatorestimates vision quality data for at least one of the vision data andthe vision guidance data for the evaluation time window. The visionquality data is based on a regression path and density grid points. Anadjuster adjusts the preliminary guidance data to revised guidance databased on the vision guidance data such that the revised guidance data isregistered with or generally coextensive with the vision guidance data,if the vision quality data exceeds a minimum threshold.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system for guiding a vehicle based onpreliminary guidance data (e.g., preliminary location data) and visionguidance data (e.g., vision-derived location data) in accordance withthe invention.

FIG. 2 is a flow chart of a method for guiding a vehicle based onpreliminary guidance data (e.g., preliminary location data) and visionguidance data (e.g., vision-derived location data) in accordance withthe invention.

FIG. 3 is a flow chart of another method for guiding a vehicle based onpreliminary guidance data (e.g., preliminary location data) and visionguidance data (e.g., vision-derived location data) in accordance withthe invention.

FIG. 4 is a chart that illustrates static positioning error of locationdata, such as a guidance signal derived from differential GlobalPositioning System (GPS).

FIG. 5 is a chart that illustrates positioning error of location data,such as a guidance signal derived from differential Global PositioningSystem (GPS) signal after “tuning” by another sensor, such as a visionmodule in accordance with the invention.

FIG. 6 is a flow chart of one embodiment of a method for guiding avehicle based on vision guidance data from vision data (e.g., monocularvision data).

FIG. 7 is a flow chart of another embodiment of a method for guiding avehicle based on vision guidance data.

FIG. 8A is a block diagram of a various components or logicalconstituents of a vision quality estimator.

FIG. 8B is a flow chart of one embodiment of method for determiningvision quality data for image data or vision data.

FIG. 9 is an illustrative image of a row crop after organization orsegmentation into crop pixels and non-crop pixels.

FIG. 10 is an illustrative intensity profile derived from the croppixels of FIG. 9.

FIG. 11 is an illustrative Fermi function for application as a templateor reference intensity profile for a windrow.

FIG. 12 is an illustrative sinusoidal function for application as atemplate or a reference intensity profile for row crops.

FIG. 13 is a graphical representation of the determination ofcross-correlation between the reference intensity profile and anobserved intensity profile.

FIG. 14 shows a regression path (e.g., regression line) associated withan approximate centerline of crop row and multiple sections or windowsassociated with the regression path.

FIG. 15A is a block diagram of a various components or logicalconstituents of a vision quality estimator.

FIG. 15B is a flow chart of one embodiment of a method for guiding avehicle based on vision guidance data from vision data (e.g., stereovision data).

FIG. 16 is a density grid of points representing crop features orvegetation and a center line associated with a crop row.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 is a block diagram of a guidance system 11 for guiding a vehicle.The guidance system 11 may be mounted on or collocated with a vehicle ormobile robot. The guidance system 11 comprises a vision module 22 and alocation-determining receiver 28 that communicate with an adjuster 110.

The vision module 22 may be associated with a vision quality estimator(20 or 120). The location-determining receiver 28 may be associated witha location quality estimator 24. The adjuster 110 may communicate with avehicular controller 25. In turn, the vehicular controller 25 is coupledto a steering system 27.

The location-determining receiver 28 may comprise a Global PositioningSystem (GPS) receiver with differential correction (e.g., a GPS receiverand a receiver for receiving a differential correction signaltransmitted by a satellite or terrestrial source). The locationdetermining receiver 28 provides location data (e.g., coordinates) of avehicle. The location-determining receiver 28 may indicate one or moreof the following conditions, states, or statuses (e.g., via a statussignal) to at least the adjuster 110 or the location quality estimator24: (1) where the location-determining receiver 28 is disabled, (2)where location data is not available or corrupt for one or morecorresponding evaluation intervals, and (3) where the estimated accuracyor reliability of the location data falls below a minimum threshold forone or more evaluation intervals. The location-determining receiver 28provides location data for a vehicle that is well-suited for globalnavigation or global path planning.

The location module 26 or data processor associated with the locationmodule 26 determines guidance data from the collected location data.Guidance data means one or more of the following data that is derivedfrom location data associated with the location-determining receiver 28:heading data, heading error data, off-track data, off-track error data,curvature data, curvature error data, vision-derived location data, andlocation error data. Guidance data generally refers to one or more ofthe following items: preliminary guidance data, revised guidance data,and vision guidance data.

In one embodiment, the location module 26 may determine guidance data toguide or steer the vehicle such that the vehicular path intercepts oneor more target coordinates (e.g., way points) or paths associated withthe target coordinates. The location module 26 may communicate with orreceive information on the target coordinates, or paths via a pathplanner, a data processing system, a wireless communications device, amagnetic storage media, an optical storage media, electronic memory, orotherwise. For example, the target coordinates or paths may be expressedas a path plan or a sequence of coordinates that are based on crop rowsor an as-planted map of a field. The as-planted map of the field may becollected by a location-determining receiver 28 or anotherlocation-determining device during planting of a seed, a crop, a plant,or a precursor to the crop.

In one illustrative embodiment, the location module 26 orlocation-determining receiver 28 outputs guidance data (e.g., locationdata) in the following format:

${y_{gps} = \begin{bmatrix}E_{{off}\_{gps}} \\E_{{head}\_{gps}}\end{bmatrix}},$where E_(off) _(—) _(gps) is the off-track error estimated by thelocation-determining receiver 28 (e.g., location-determining receiver28), and E_(head) _(—) _(gps) is the heading error estimated by thelocation-determining receiver 22.

The vision module 22 may comprise an image collection system 31 and animage processing system 33. The vision module 22 or image collectionsystem 31 collects image data or vision data, which shall be regarded assynonymous terms throughout this document. The vision module 22 or imageprocessing system 33 derives vision guidance data (e.g., vision-derivedlocation data) from the collected image data or vision data. The visionguidance data means one or more of the following data that is derivedfrom vision data associated with the vision module 22: heading data,heading error data, off-track data, off-track error data, curvaturedata, curvature error data, vision-derived location data, location data,and location error data.

In one embodiment, the vision module 22 may determine vision guidancedata to guide or steer the vehicle such that the vehicular pathintercepts one or more target coordinates (e.g., way points) or pathsassociated with the target coordinates. The vision module 22 maycommunicate with or receive information on the target coordinates, orpaths via a path planner, a data processing system, a wirelesscommunications device, a magnetic storage media, an optical storagemedia, electronic memory, or otherwise. For example, the targetcoordinates or paths may be expressed as a path plan or a sequence ofcoordinates that are based on collected images of crop rows orrepresentations derived from the collected images. In one example, avision module 22 is able to identify plant row location with an error assmall as approximately 1 centimeter for soybeans and approximately 2.4centimeter for corn.

In one illustrative example, the vision module 22 outputs visionguidance data (e.g., vision-derived location data) in the followingformat:

${y_{vision} = \begin{bmatrix}E_{off\_ vision} \\E_{head\_ vision}\end{bmatrix}},$ where E_(off) _(—) _(vision) is the off track error estimated by thevision module 22 and E_(head) _(—) _(vision) is the heading errorestimated by the vision module 22.

The image collection system 31 may comprise one or more of thefollowing: (1) one or more monocular imaging systems for collecting agroup of images (e.g., multiple images of the same scene with differentfocus settings or lens adjustments, or multiple images for differentfield of views (FOV)); (2) a stereo vision system (e.g., two digitalimaging units separated by a known distance and orientation) fordetermining depth information or three-dimensional coordinatesassociated with points on an object in a scene; (3) a range finder(e.g., laser range finder) for determining range measurements orthree-dimensional coordinates of points on an object in a scene; (4) aladar system or laser radar system for detecting the speed, altitude,direction or range of an object in a scene; (5) a scanning laser system(e.g., a laser measurement system that transmits a pulse of light andestimates distance between the laser measurement system and the objectbased on the time of propagation between transmission of the pulse andreception of its reflection) for determining a distance to an object ina scene; and (6) an imaging system for collecting images via an opticalmicro-electromechanical system (MEMS), free-space optical MEMS, or anintegrated optical MEMS.

Free-space optical MEMS use compound semiconductors and materials with arange or refractive indexes to manipulate visible light, infra-red, orultraviolet light, whereas integrated optical MEMS use polysiliconcomponents to reflect, diffract, modulate or manipulate visible light,infra-red, or ultraviolet light. MEMS may be structured as switchingmatrixes, lens, mirrors and diffraction gratings that can be fabricatedin accordance with various semiconductor fabrication techniques. Theimages collected by the vision module 22 or image collection system 31may be in color, monochrome, black-and-white, or grey-scale images, forexample.

The vision module 22 or vision-derived location data may support thecollection of position data (in two or three dimensional coordinates)corresponding to the location of features of an object within the image.The vision module 22 is well suited for using (a) features or localfeatures of an environment around a vehicle, (b) position data orcoordinates associated with such features, or both to facilitatenavigation of the vehicle. The local features may comprise one or moreof the following: plant row location, fence location, building location,field-edge location, boundary location, boulder location, rock locations(e.g., greater than a minimum threshold size or volume), soil ridge andfurrows, tree location, crop edge location, a cutting edge on vegetation(e.g., turf), and a reference marker. The vision guidance data (e.g.,vision-derived location data) or position data of local features may beused to tune (e.g., correct for drift) the preliminary guidance data(e.g., preliminary location data) from the location-determining receiver28 on a regular basis (e.g., periodically).

In one example, a reference marker may be associated with high precisionlocation coordinates. Further, other local features may be related tothe reference marker position. The current vehicle position may berelated to the reference marker position or the fixed location of localfeatures or the location of the vehicle. In one embodiment, the visionmodule 22 may express the vision-derived location data on the vehiclelocation in coordinates or a data format that is similar to orsubstantially equivalent to the coordinates or data format of thelocation-determining receiver 28.

The vision module 22 may indicate one or more of the following via astatus or data message to at least the adjuster 110 or the visionquality estimator 20: (1) whether the vision module 22 is disabled, (2)whether vision guidance data (e.g., vision-derived location data) is notavailable during one or more evaluation intervals, (3) whether thevision guidance data (e.g., vision-derived location data) is unstable orcorrupt, and (4) whether the image data or vision guidance data issubject to an accuracy level, a performance level or a reliability levelthat does not meet a threshold performance/reliability level.

The location quality estimator 24 may comprise one or more of thefollowing devices: a signal strength indicator associated with thelocation-determining receiver 28, a bit error rate indicator associatedwith the location-determining receiver 28, another device for measuringsignal quality, an error rate, signal strength, or performance ofsignals, channels, or codes transmitted for location-determination.Further, for satellite-based location-determination, the locationquality estimator 24 may comprise a device for determining whether aminimum number of satellite signals (e.g., signals from four or moresatellites on the L1 band for GPS) of a sufficient signal quality arereceived by the location-determining receiver 28 to provide reliablelocation data for a vehicle during an evaluation interval.

The location quality estimator 24 estimates the quality of thepreliminary location data or location quality data (e.g., Q_(gps))outputted by the location-determining receiver 28. The location qualityestimator 24 may estimate the quality of the preliminary location databased on the signal strength indicator (or bit-error rate) of eachsignal component received by the location-determining receiver 28. Thelocation quality estimator 24 may also base the quality estimate on anyof the following factors: (1) the number of satellite signals that areavailable in an area, (2) the number of satellites that are acquired orreceived by the location-determining receiver with a sufficient signalquality (e.g., signal strength profile) and (3) whether each satellitesignal has an acceptable signal level or an acceptable bit-error rate(BER) or frame-error rate (FER).

In one embodiment, different signal strength ranges are associated withdifferent corresponding quality levels. For example, the lowest signalstrength range is associated with the low quality, a medium signalstrength range is associated with a fair quality, and highest signalstrength range is associated with a highest quality. Conversely, thelowest bit-error rate range is associated with the highest quality, themedium bit error range is associated with the fair quality, and thehighest bit error rate range is associated with the lowest qualitylevel.

The vision quality estimator 20 estimates the quality of vision guidancedata (e.g., the vision-derived location data) outputted by the visionmodule 22. The quality of the vision guidance data may be expressed asvision quality data (e.g., Q_(vision)). The vision quality estimator 20may consider the illumination present during a series of time intervalsin which the vision module 22 operates and acquires correspondingimages. The vision quality estimator 20 may include a photo-detector, aphoto-detector with a frequency selective lens, a group ofphoto-detectors with corresponding frequency selective lenses, acharge-coupled device (CCD), a photometer, cadmium-sulfide cell, or thelike. Further, the vision quality estimator 30 comprises a clock ortimer for time-stamping image collection times and correspondingillumination measurements (e.g., luminance values for images). In oneillustrative example, if the illumination is within a low intensityrange, the vision quality is low for the time interval; if theillumination is within a medium intensity range, the vision quality ishigh for the time interval; and if the illumination is within a highintensity range, the vision quality is fair, low or high for the timeinterval depending upon defined sub-ranges within the high intensityrange. The foregoing intensity range versus quality may be applied on alight frequency by light frequency or light color basis, in one example.In another example, the intensity range versus quality may be appliedfor infra-red range frequencies and for ultraviolet range frequenciesdifferently than for visible light.

The vision quality estimation may be related to a confidence measure inprocessing the images. If the desired features (e.g., plant rows) areapparent in one or more images, the vision quality estimator 20 mayassign a high image quality or high confidence level for thecorresponding images. Conversely, if the desired features are notapparent in one or more images (e.g., due to missing crop rows), thevision quality estimator 20 may assign a low image quality or a lowconfidence level. In one example, the confidence level is determinedbased on a sum of the absolute-differences (SAD) of the mean intensityof each column vector (e.g., velocity vector for the vision module 22)for the hypothesized yaw/pitch pair. Yaw may be defined as theorientation of the vision module 22 in an x-y plane and pitch may bedefined as the orientation of the vision module 22 in the x-z plane,which is generally perpendicular to the x-y plane.

If the vision module 22 is unable to locate or reference a referencefeature or reference marker in an image or has not referenced areference marker in an image for a threshold maximum time, the visionmodule 22 may alert the vision quality estimator 20, which may degradethe quality of the vision-derived location data by a quality degradationindicator.

In general, the adjuster 110 comprises a data processor, amicrocontroller, a microprocessor, a digital signal processor, anembedded processor or any other programmable (e.g., field programmable)device programmed with software instructions. The adjuster 110 may beassociated with a vehicle controller 25. In one embodiment, the adjuster110 comprises a rule manager. The rule manager of the adjuster 110 mayapply the preliminary guidance data (e.g., preliminary location data),or a derivative thereof, as the error control signal for a correspondingtime interval, unless the vision quality data exceeds the minimumthreshold level. No adjustment may be required unless the preliminaryguidance data (e.g., preliminary location data) and the vision guidancedata (e.g., vision-derived location data) differ by more than a maximumtolerance. The vision weight determines the extent that the contributionof the vision guidance data (e.g., y_(vision)) from the vision module 22governs. The location weight determines the extent that the contributionof guidance data (e.g., location data) from the location module 22governs. The mixer 14 determines the relative contributions of guidancedata (e.g., y_(gps)) and vision guidance data ( e.g., y_(vision)) to theerror control signal (e.g., y) based on the both the vision weight andthe location weight. In one embodiment, the mixer 14 may comprise adigital filter, a digital signal processor, or another data processorarranged to apply one or more of the following: (1) the vision guidancedata weight (e.g., vision-derived location data weight), (2) thelocation data weight, and (3) a mixing ratio expression of the relativecontributions of the location data and the vision-derived location datafor an evaluation time interval.

The error control signal represents a difference (or an error) betweenthe estimated guidance data and the actual guidance data to align thevehicle to a track a target coordinates or a target path. For example,the error control signal may represent the difference (or error) betweenlocation data (measured by the vision module 22 and by the locationmodule 26) and the actual location of the vehicle. Such an error controlsignal is inputted to the vehicle controller 25 to derive a compensatedcontrol signal. The compensated control signal corrects the managementand control of the steering system 27 based on the error control signal.The steering system 27 may comprise an electrical interface forcommunications with the vehicle controller 25. In one embodiment, theelectrical interface comprises a solenoid-controlled hydraulic steeringsystem or another electromechanical device for controlling hydraulicfluid.

In another embodiment, the steering system 27 comprises a steeringsystem unit (SSU). The SSU may be associated with a heading versus timerequirement to steer or direct the vehicle along a desired course or inconformance with a desired or target path plan or target coordinates.The heading is associated with a heading error (e.g., expressed as thedifference between the actual heading angle and the desired headingangle).

The SSU may be controlled to compensate for errors in the estimatedposition of the vehicle by the vision module 22 or thelocation-determining receiver 28. For example, an off-track errorindicates or is representative of the actual position of the vehicle(e.g., in GPS coordinates) versus the desired position of the vehicle(e.g., in GPS coordinates). The off-track error may be used to modifythe movement of the vehicle with a compensated heading. However, ifthere is no off-track error at any point in time or a time interval, anuncompensated heading may suffice. The heading error is a differencebetween actual vehicle heading and estimated vehicle heading by thevision module 22 and the location-determining receiver 28.

FIG. 2 is a flow chart of a method for guiding a vehicle with a visionguidance data (e.g., vision-derived location data) and location data.The method of FIG. 2 begins in step S200.

In step S200, a location-determining receiver 28 collects preliminarylocation data for a vehicle associated therewith. For example, thelocation-determining receiver 28 (e.g., a GPS receiver with differentialcorrection) may be used to determine coordinates of the vehicle for oneor more evaluation time intervals or corresponding times.

In step S201, a location module 26 or a location-determining receiver 28determines respective guidance data associated with the preliminarylocation data. Guidance data comprises one or more of the followingitems that are derived from the collected preliminary location data:heading data, heading error data, off-track data, off-track error data,curvature data, curvature error data, and a location-error signal. Theheading data refers to the direction (e.g., angular orientation) of avehicle (e.g., a longitudinal axis of the vehicle) relative to areference direction (e.g., magnetic North). The heading error is adifference between actual vehicle heading and target vehicle heading.The heading error may be associated with errors (e.g., measurementerror, system errors, or both) in at least one of the vision module 22,the location module 26, the vehicle controller 25, or the steeringsystem 27. Off-track data indicates a displacement of the vehicle pathposition from a desired vehicle path position. An off-track errorindicates or is representative of the difference between the actualposition of the vehicle (e.g., in GPS coordinates) and the desiredposition of the vehicle (e.g., in GPS coordinates). The curvature is thechange of the heading on the desired path. For example, curvature is therate of change of the tangent angle to the vehicle path between any tworeference points (e.g., adjacent points) along the path.

The guidance error signal or the location-error signal (e.g., y_(gps))may represent a (1) difference between the actual vehicular location anda desired vehicular location for a desired time, (2) a differencebetween the actual vehicular heading and a desired vehicular heading fora desired time or position, (3) or another expression of errorassociated with the location data or guidance data. The location-errorsignal may be defined, but need not be defined, as vector data.

In step S202, a vision module 22 collects vision data for the vehicleduring the evaluation time window. For example, the vision module 22 maycollect one or more images of crop rows in a general direction of travelas a vehicle moves in a field each collected image may be associatedwith a corresponding evaluation time interval.

In step, S203 the vision module 22 determines vision guidance data(e.g., vision-derived location data or a vision error signal) for one ormore of the evaluation time intervals or corresponding times. Forexample, the vision module 22 may collect images and process thecollected images to determine vision-derived location data. In oneexample, the vision-derived location data comprises vision-derivedposition data of a vehicle, which is obtained by reference to one ormore visual reference marker or features with corresponding knownlocations to determine coordinates of a vehicle. The coordinates of avehicle may be determined in accordance with a global coordinate systemor a local coordinate system.

The vision guidance error signal or the vision error signal (e.g.,y_(vision)) represents (1) a difference between the actual vehicularlocation and a desired vehicular location for a desired time, (2) adifference between the actual vehicular heading and a desired vehicularheading for a desired time or position, (3) or another expression oferror associated with the vision-derived location data or visionguidance data.

In step S204, a vision quality estimator 20 estimates vision qualitydata during the evaluation time interval. The vision quality estimator20 may comprise a luminance or photo-detector and a time or clock fortime-stamping luminance measurements to determine a quality level basedon the ambient lighting conditions. The vision quality estimator 20 mayalso comprise a measure of confidence or reliability in processing theimages to obtain desired features. The confidence or reliability inprocessing the images may depend upon any of the following factors,among others: technical specification (e.g., resolution) of the visionmodule 22, reliability of recognizing an object (e.g., landmark in animage), reliability of estimating a location of the recognized object ora point thereon, reliability of converting image coordinates or localcoordinates to a global coordinates or vision-derived location data thatis spatially and temporally consistent with the location data from thelocation-determining receiver 28.

Step S204 may be carried out by various techniques which may be appliedalternately or cumulatively. Under a first technique, the vision qualityestimator 20 may estimate a confidence or reliability in the accuracy ofvision-derived location data. Under a second technique, the visionquality estimator 20 first estimates the confidence level, reliabilitylevel or another quality level in the accuracy of the vision-derivedlocation data; and, second, the vision quality estimator 20 converts thequality level into a corresponding linguistic value.

In step S206, an adjuster 110 or vehicle controller 25 adjusts thepreliminary guidance data (e.g. preliminary location data) to a revisedguidance data (e.g., revised location data) based on the vision guidancedata (e.g., vision-derived location data) such that the revised guidancedata (e.g., revised location data) is registered with or generallycoextensive with the vision guidance data (e.g., vision-derived locationdata), if the vision quality data exceeds the minimum threshold level.For example, the adjuster 110 or vehicle controller 25 may adjust thepreliminary location data for any time slot or evaluation time window,where the vision quality data exceeds a minimum threshold level and ifany disparity or difference between the vision guidance data andpreliminary guidance data is material. Registered with or generallycoextensive with means that the vision-derived location data and thepreliminary location data for the same time interval are generallycoextensive or differ by a maximum tolerance (e.g., which may beexpressed as a distance, a vector, or separation in seconds (or otherunits) between geographic coordinates). For example, the maximumtolerance may be set to be a particular distance (e.g., 2.54centimeters) within a range from one centimeter to 10 centimeters.

In one embodiment, the adjuster 110 transmits or makes available anerror control signal to the vehicular controller 25 based on thepreliminary location data or revised location data. The revised locationdata, or the error control signal derived therefrom, may be updated on atime-slot-by-time-slot basis (e.g., during an application time window).Each time slot may be commensurate in scope to the evaluation timeinterval.

The adjuster 206 may enhance the reliability and accuracy of the revisedlocation data or position information that is provided for navigation orcontrol of the vehicle by using the vision-derived location data ofverified quality as a quality benchmark against the preliminary locationdata. Although the preliminary location data and vision-derived qualitydata are collected during an evaluation time interval; the adjustment ofstep S206 to the revised location data may be applied during anapplication time interval that lags the evaluation time interval or thatis substantially coextensive with the evaluation time interval.Regardless of how the evaluation time interval and the application timeinterval are defined in this example, in other examples the adjuster 110may provide predictive control data, feed-forward control data, orfeedback control data to the vehicle controller 25.

The method of FIG. 3 is similar to the method of FIG. 2, except themethod of FIG. 3 includes additional step S205 and replaces step S206with step S208. Like reference numbers indicate like procedures orsteps.

In step S205, a location quality estimator 24 estimates location qualitydata for the location data or guidance data during an evaluation timewindow. Step S205 may be carried out by various techniques which may beapplied alternately or cumulatively. Under a first technique, thelocation quality estimator 24 may estimate or measure signal quality, anerror rate (e.g., bit error rate or frame error rate), a signal strengthlevel (e.g., in dBm), or other quality levels. Under a second technique,the location quality estimator 24 first estimates or measures signalquality, an error rate (e.g., bit error rate or frame error rate), asignal strength level (e.g., in dBm), or other quality levels; second,the location quality estimator 24 classifies the signal quality datainto ranges, linguistic descriptions, linguistic values, or otherwise.

In step S208, an adjuster 110 or vehicle controller 25 adjusts thepreliminary guidance data (e.g., preliminary location data) to a revisedguidance data (e.g., revised location data) based on the vision guidancedata (e.g., vision-derived location data) such that the revised guidancedata is registered with or generally coextensive with the visionguidance data, if the vision quality data exceeds the minimum thresholdlevel and if the location quality data or guidance data is less than orequal to a triggering threshold level. For example, the adjuster 110 orvehicle controller 25 may adjust the preliminary location data for anytime slot or evaluation time window, (a) where the vision quality dataexceeds a minimum threshold level and (b) where the location qualitydata is less than or equal to a triggering threshold level or where anydisparity or difference between the vision guidance data and preliminaryguidance data is material. For example, the triggering threshold levelmay be where the reliability or accuracy of the preliminary locationdata is less than desired because of the lack of availability ofsatellites, or low received signal quality (e.g., low signal strength)of satellite signals or ancillary transmissions (e.g., terrestrialreferences) used to determine precision preliminary location data. Theadjuster 206 may enhance the reliability and accuracy of the revisedlocation data or position information that is provided for navigation orcontrol of the vehicle by using the vision guidance data (e.g.,vision-derived location data) of verified quality as a quality benchmarkagainst the preliminary guidance data (e.g., preliminary location data).The method of FIG. 3 makes the adjustment to the revised location datain a more selective manner than FIG. 2, by imposing the additionalcondition of location data quality falling below a standard (e.g.,triggering threshold level).

FIG. 4 is a chart that illustrates static positioning error of locationdata, such as a differential GPS signal. The vertical axis shows errorin distance (e.g., meters), whereas the horizontal axis shows time (e.g.seconds).

FIG. 5 is a chart that illustrates dynamic positioning error of locationdata, such as a differential GPS signal (e.g., location data) after“tuning” at a desired update frequency or rate. The vertical axis showserror in distance (e.g., meters), whereas the horizontal axis shows time(e.g. seconds). FIG. 5 shows the original error without “tuning” assolid circular points and error after “tuning” as circles. The tuningachieved by using the vision-derived location data to adjust thelocation data at regular intervals (e.g., at 5 second intervals or 0.2Hz as illustrated in FIG. 5).

FIG. 6 illustrates a method for adjusting the position or heading avehicle based on a vision data. The method of FIG. 6 begins in stepS600.

In step S600, a location-determining receiver 28 collects location data(e.g., heading data) for the vehicle during an evaluation time interval.

In step S601, the location module 26 or the location-determiningreceiver 28 determines the guidance data (e.g., heading data) from thecollected location data. For example, the location module 26 maydetermine guidance data from two sets of coordinates that are collectedat a first time and a second time during the evaluation time interval.Guidance data comprises one or more of the following items derived fromcollected location data: heading data, heading error data, off-trackdata, off-track error data, curvature data, curvature error data, and alocation-error signal.

The heading data refers to the direction (e.g., angular orientation) ofa vehicle (e.g., a longitudinal axis of the vehicle) relative to areference direction (e.g., magnetic North). The heading error is adifference between actual vehicle heading and target vehicle heading.The heading error may be associated with errors (e.g., measurementerror) in at least one of the vision module 22 and the location module26.

Off-track data indicates a displacement of the vehicle path positionfrom a desired vehicle path position. An off-track error indicates or isrepresentative of the difference between the actual position of thevehicle (e.g., in GPS coordinates) and the desired position of thevehicle (e.g., in GPS coordinates).

The curvature is the change of the heading on the desired path. Forexample, curvature is the rate of change of the tangent angle to thevehicle path between any two reference points (e.g., adjacent points)along the path.

In step S602, the vision module 22 or image collection system 31collects vision data or image data for the vehicle during the evaluationtime interval. The collected vision data may comprise monocular visiondata or stereo vision data, for example.

In step S603, the vision module 22 or image processing system 33determines vision guidance data (e.g., vision heading data) from thecollected vision data.

In step S604, the vision quality estimator (20,120 or 220) estimatesvision quality data for at least one of the vision data and the visionguidance data during the evaluation time interval, where the visionquality data is based on a cross correlation and an r-squared value. Thecross correction is between an observed intensity profile of the visiondata in a section and a reference intensity profile to determine rowcenter positions. An r-squared value is between a regression path andthe row center positions. The vision quality estimate of step S604 iswell suited for application to monocular vision data (e.g., collected instep S602).

In step S606, an adjuster 110 or controller adjusts the preliminaryguidance data (e.g., preliminary heading data) to revised guidance data(e.g., revised heading data) based on the vision guidance data (e.g.,vision heading data) such that the revised guidance data (e.g., revisedheading data) is registered with or generally coextensive with thevision guidance data, if the vision quality data exceeds a minimumthreshold. For example, the adjuster 110 or controller adjusts thepreliminary guidance data to a revised guidance data based on the visionguidance data, if the vision quality data exceeds a minimum thresholdand if any disparity or difference between the vision guidance data andpreliminary guidance data is material.

The method of FIG. 7 is similar to the method of FIG. 6, except stepS605 replaces step S604. Like reference numbers in FIG. 6 and FIG. 7indicate like steps or procedures.

In step S605, the vision quality estimator (20, 120,or 220) estimatesvision quality data for at least one of the vision data and the visionguidance data during the evaluation time interval, where the visionquality data is based on a regression path and density grid points. Thevision quality estimate of step S605 is well suited for application tostereo vision data (e.g., collected in step S602).

FIG. 8A is a block diagram of an illustrative configuration of a visionquality estimator 120. The interconnections between the components(e.g., 70, 72, 74, 76, 78, 80, 82, 84 and 86) of FIG. 8A may representlogical data paths, physical data paths, or both.

The organizer 70 communicates with an intensity profile module 72. Thecross-correlation module 76 may receive input data from the subdivider74, the data storage device 86, and the intensity profile module 72. Thedata storage device 86 stores a reference intensity profile 88 forretrieval or access by the cross correlation module 76. The crosscorrelation module 76 outputs data to the estimator 84. The subdivider74 communicates with the row center estimator 78. The row centerestimator 78 and the arranger 80 provide input data for the variationevaluator 82. In turn, the variation evaluator 82 outputs data to theestimator 84.

The vision module 22 provides one or more of the following to the visionquality estimator 120: vision data, image data, and vision guidancedata. As used herein, image data and vision data shall be regarded assynonymous terms. The vision module 22 may determine vision guidancedata from collected vision or image data.

In FIG. 8A, the vision quality estimator 120 is arranged to estimatevision quality data for at least one of the vision data (or image data)and the vision guidance data during the evaluation time interval. Thevision quality estimator 120 may determine vision quality data based oncross correlations and an r-squared value. Each cross correlation isdetermined between an observed intensity profile of the image data in asection and a reference intensity profile to determine row centerpositions. An r-squared value is determined between the regression pathand the row center positions.

An organizer 70 organizes a collected image into crop pixels andnon-crop pixels. An intensity profile module 72 determines an intensityprofile based on pixel intensity values of the crop pixels. A datastorage device 86 stores a reference intensity profile associated with agroup of crop rows or a single crop row. A subdivider 74 subdivides thecollected image into multiple sections or overlapping windows.

In general, the cross-correlation module 76 determines a crosscorrelation between the intensity profile (provided by the intensityprofile module 72) and a reference intensity profile 88 for each one ofthe sections. In one embodiment, the cross correlation module 76 isarranged to determine a normalized cross correlation as the crosscorrelation. The normalized cross correlation is based on a mean crosscorrelation for a group of sections of the image data. Each section isassociated with a corresponding row center position, which is determinedby a row center estimator 78.

The subdivider 74 communicates or makes available sections oroverlapping windows to the row center estimator 78. The row centerestimator 78 is configured to estimate the row center positionsassociated with corresponding sections or subdivisions of the imagedata. The arranger 80 is configured to determine the regression pathcoinciding with the row center positions. For example, the arranger 80arranges estimated row center positions into a regression path (e.g.,regression line) defining a representation of a position and orientationof a crop row.

A variation evaluator 82 determines an r-squared value between theregression path (e.g., regression line) and the row center positions. Anestimator 84 determines vision quality data based on the determinedcross correlations and the r-squared value for application to a vehiclecontroller 25 or adjuster 110 for steering of a vehicle. The guidancedata comprises at least one of heading data, off-track data, andcurvature data, for example.

FIG. 8B is a method for estimating the quality of vision data or visionguidance data. The method of FIG. 8B begins in step S800.

In step S800, the vision module 22 or image processing system 33organizes a collected image into crop pixels and non-crop pixels. Thevision module 22 or image processing system 33 may use colordiscrimination to organize or segment the collected image into croppixels and non-crop pixels. Crop pixels may be defined by referencevegetation colors (e.g., green hues), or the like. FIG. 9 provides anillustration of the organization of collected image into crop pixels andnon-crop pixels, consistent with step S800.

In step S802, the vision module 22 or the image processing system 33determines an observed intensity profile based on observed pixelintensity values of the crop pixels. For example, the vision module 22or the image processing system 33 determines an observed intensityprofile for a boundary between crop pixels and non-crop pixels. In oneembodiment, the observed intensity profile may indicate one or more cropedges or a generally linear boundary between the crop pixels andnon-crop pixels.

The vision module 22 or the image processing system 33 qualifies pixelsfor membership in the observed intensity profile by assuring that thepixels within the observed pixel intensity profile meet a pixelintensity criteria or requirement (e.g., minimum pixel intensity for avegetation color or light frequency range corresponding thereto). Pixelintensity may be defined as a brightness of a pixel in monochrome colorspace (e.g., for particular green color, shade or hue associated withvegetation), or the brightness of a red, green, and blue component inRGB color space, for example. Crop pixel intensity is generallyproportional to the irradiance or electromagnetic radiation (e.g., ofone or more frequency bands of visible light) that is reflected by orincident on a crop portion (e.g., a portion of a crop surface area) in acollected image. The pixel intensity values for crop pixels may meet orexceed a minimum threshold intensity for a vegetation canopy of a croprow, including a boundary of a crop row, where crop pixels are adjacentto non-crop pixels. Similarly, the pixel intensity values for croppixels may meet or exceed a minimum threshold intensity for harvestedcrop material lying on the ground or a windrow, including a boundary ofthe windrow.

In step S804, the vision module 22 or image processing system 33establishes a reference intensity profile associated with a group ofcrop rows or a single crop row (e.g. windrow). The reference intensityprofile comprises a template which may vary based on whether the plantmaterial is arranged in a group of rows or as one or more windrows. FIG.11 illustrates a reference intensity profile associated with a windrow,whereas FIG. 12 illustrates a reference intensity profile associatedwith multiple parallel plant rows.

In step S806, the vision module 22 or the vision quality estimator (20,120, or 220) subdivides the collected image into multiple sections(e.g., overlapping windows). FIG. 14 provides a graphical illustrationof the subdivision of sections consistent with step S806.

In step S808, the vision quality estimator (20,120, 220) determines across correlation between the intensity profile and a referenceintensity profile for each one of the sections. FIG. 13 provides agraphical illustration of determining cross correlation, consistent withstep S808.

In step S810, the vision quality estimator estimates a row centerposition associated with each one of the sections. FIG. 14 shows rowcenter positions associated with each section, consistent with stepS808.

In step S812, the vision quality estimator (20, 120 or 220) arrangesestimated row center positions into a regression path defining arepresentation of position and orientation of a crop row. A regressionpath may comprise a generally linear regression path that is definedbased on the positions and distribution of row center positions. Forexample, the vision quality estimator (20, 120, or 220) may establish aregression path as a linear equation based on a least squares method, aweighted least squares method, polynomial fitting, multiple regression,a statistical regression technique, a mathematical regression technique,or another technique that generally minimizes the distance or errorbetween the regression path and the row center positions.

In step S814, the vision quality estimator (20,120 or 220) determines anr-squared value between the regression path and the row centerpositions.

In step S816, the vision quality estimator (20,120 or 220) determinesvision quality data based on the determined cross correlations and ther-squared value for application to a vehicle controller or adjuster forsteering of a vehicle. An r-squared value may be used to determine thedegree that observed vision data or observed vision guidance data (e.g.,observed crop row position or windrow position) conforms to a predictivemodel (e.g., regression path for crop row position) associated withvision data or vision guidance data.

Step S816 may be carried out by various techniques that may be appliedalternately or cumulatively. Under a first technique, the vision qualityestimator (20, 120 or 220) determines the r-squared value based on thefollowing equation: r squared=1−v_(model)/V_(total), where v_(model) isthe variability or error indicator of center points associated withdifferent sections with respect to the regression path (e.g., generallylinear regression path), and where v_(total) is the variability or errorindicator of the crop row about its mean center position. An r-squaredvalue may be normalized within a range from one to zero, such that anr-squared value approaching one is generally considered better than anr-squared value approaching zero.

Under a second technique, the confidence level, C, or vision qualitydata for the vision processing depends on two factors: the r-squaredvalue of the regression line and the normalized cross-correlation fromtemplate matching.

C = 255 * R_(reg)² * r_(cross_norm)$r_{cross\_ norm} = \{ \begin{matrix}{( {\frac{{\overset{\_}{r}}_{cross}}{r_{cross\_ ref}} - r_{0}} )/( {1 - r_{0}} )} & {{r_{cross\_ ref}*r_{0}} \leq {\overset{\_}{r}}_{cross} \leq r_{cross\_ ref}} \\1 & {{\overset{\_}{r}}_{cross} \geq r_{cross\_ ref}} \\0 & {{\overset{\_}{r}}_{cross} \leq {r_{cross\_ ref}*r_{0}}}\end{matrix} $

where r _(cross) is the mean or average cross-correlation from a groupof sections, r_(cross) _(—) _(ref) is the reference cross-correlation,and r₀ is a minimum cross-correlation. The reference correlation istypically obtained from an initial reference image, whereas the minimumcross correlation is typically determined by the user. In order toobtain high confidence level, two conditions have to be met: first, thecrop centers in the processing sections (e.g., windows) must form agenerally straight line or conform to a known as-planted contour, andsecond, the intensity profiles in the processing sections must conformto the selected reference intensity profile (e.g., template, similar tothose of FIG. 11 or FIG. 12). The template or reference profile may beadapted to changes in crops or conditions. Because the width of crop rowmay change from time, the template may be updated to adapt the crop row.In one implementation; the historic average or mean of the crop rowspacing may be used.

FIG. 9 is an illustrative image of several row crops after organizationor segmentation into crop pixels 900 and non-crop pixels 902. FIG. 9 isa representative image of the result of execution of step S800 of FIG.8B, for example. The collected image collected by the image collectionsystem 31 or the vision module 22 is first segmented into crop pixels900 and non-crop pixels 902, and then rectified to remove distortion.The white or light pixels represent crop pixels 900, whereas the dottedregions represent non-crop pixels 902. As shown, one crop row isorganized into a row portion 904 that falls between a minimum depth anda maximum depth from the image collection system 31 or vision module 22.Each side of the crop row is associated with crop edges 906.

FIG. 10 is an illustrative observed intensity profile derived from thecrop pixels 900 of FIG. 9. In one example, each pixel intensity point910 represents the sum of pixel intensity of crop pixels on a verticalline segment within a region of interest (e.g., near or at a crop edge906). In another example, each pixel intensity point 910 represents theintensity of a single corresponding crop pixel within a region ofinterest (e.g., near or a crop edge). In yet another example, each pixelintensity point 910 represents a mean, average or mode pixel intensityof a cluster of crop pixels associated with a region of interest (e.g.,near or at a crop edge). The observed intensity profile (e.g., of FIG.10) is compared to a reference intensity profile, called a template(e.g., FIG. 11 or FIG. 12), to determine the offset of the crop rowrelative to a reference row position. The reference row position may beestablished when the crop, a seed, or precursor was planted, forinstance.

FIG. 11 is an illustrative Fermi function for application as a templateor reference intensity profile for a windrow. The horizontal axis may bereferred to as the transverse axis, whereas the vertical axis may bereferred to as the frontward axis. The traverse axis is generallyperpendicular to the frontward axis. The frontward axis may be tilted ata known angle to the ground or horizon. The transverse axis and thefrontward axis are from the perspective of the image collection system31 facing a crop row, where a longitudinal dimension of the crop row isgenerally parallel to the direction of travel of the vehicle.

The reference intensity profile may vary depending on a particularapplication, such as whether the field contains crop rows, windrows or acut vegetation (e.g., hay) lying on the ground. For a windrow, a Fermifunction or another step or impulse function may be used to represent anideal windrow intensity profile as shown in FIG. 11. For the Fermifunction of FIG. 11, g represents the peak amplitude, g/2 represents onehalf of the peak amplitude and the value k represents the width of thewindrow at one-half of the peak amplitude. In one embodiment, the peakamplitude of FIG. 11 may be associated with the maximum evaluated depthof the windrow from the image collection system 31.

FIG. 12 is an illustrative sinusoidal function for application as atemplate or a reference intensity profile for row crops. The horizontalaxis may be referred to as the transverse axis, whereas the verticalaxis may be referred to as the frontward axis. The traverse axis isgenerally perpendicular to the frontward axis. The frontward axis may betilted at a known angle to the ground or horizon. The transverse axisand the frontward axis are from the perspective of the image collectionsystem 31 facing a crop row, where a longitudinal dimension of the croprow is generally parallel to the direction of travel of the vehicle.

The peak amplitude of the sinusoidal function is indicated by a, whereasw represents the period of one wavelength. In one embodiment, the peakamplitude of FIG. 12 may be associated with the maximum evaluated depthof the crop row from the image collection system 31, whereas the period,w, may be proportional to the crop row width or spacing between adjacentcrop rows.

Although a sinusoidal function is used for the reference intensityprofile of FIG. 12, in an alternative embodiment, a pulse train, asquare wave, a series of impulse functions, or any other suitablefunction may be used for the reference intensity profile to model thevegetation crop rows. Further, the reference intensity profile may varythroughout the growing season as a crop matures, for instance.

FIG. 13 is a graphical representation of the determination ofcross-correlation between the reference intensity profile (e.g.,Template T(k)) and an observed intensity profile (e.g., Intensityprofile I(k)). A cross-correlation function, r(d), between the observedintensity profile (e.g., FIG. 10) and the reference intensity profile(e.g., FIG. 11) is calculated as follows:

${r(d)} = \frac{\sum\limits_{k = 0}^{N}\{ {( {{I(k)} - \overset{\_}{I}} )*( {{T( {k + d} )} - \overset{\_}{T}} )} \}}{\sqrt{( {{I(k)} - \overset{\_}{I}} )^{2}}*\sqrt{( {{T( {k + d} )} - \overset{\_}{T}} )^{2}}}$

where r(d) is the general image cross-correlation function between theobserved intensity profile l(k) and the reference intensity profileT(k+d), d defines the location of the reference intensity profile, Ī isthe mean intensity of the observed intensity profile, T is the meanintensity of the reference intensity profile, and r(d_(max)), is theapproximate center position of any crop row within the image. The delayd_(max) that corresponds to the maximum correlation, r(d_(max)), is thecenter position of the crop row. In one embodiment, the crosscorrelation represents on factor or component of a confidence index orvalue of a vision quality data.

FIG. 14 shows a regression path 924 associated with an approximatecenterline of a crop row and multiple sections 920 or windows associatedwith the regression path 924. The regression path 924 may comprise agenerally linear regression line, or a straight or curved path that isdefined by a linear or quadratic equation. Each section 920 isassociated with a corresponding row center position 922. If theregression path 924 is generally linear, it may be defined withreference to an angle 928 (θ) relative to a reference axis 926 (e.g.,magnetic North or another reference orientation).

In FIG. 14, the vision module 22, the image processing system 33, or thevision quality estimator (20, 120, or 220) divides the vision data(e.g., collected image or crop pixels) into multiple sections 920 (e.g.,overlapping windows). The sections 920 are present in the region ofinterest (e.g., near a crop row). The vision module 22, the imageprocessing system 33, or the vision quality estimator (20, 120, or 220)detects one or more crop rows by regression analysis.

In particular, for regression analysis, the vision quality estimator(20, 120, or 220) forms or estimates a regression path 924 (e.g.,regression line segment) associated with the row center positions 922 orthe centers of the crop row in each section 920 (e.g., overlappingwindow) to enhance the robustness of row detection. The row centerpositions 922 (e.g., points) are fitted into a regression path 924(e.g., regression line segment). This regression path 924 representsboth the position and orientation of the crop row.

The regression path 924 is compared to an initial heading or observedpath of the vehicle to determine guidance data (e.g., to calculate theoff-track, curvature and/or heading errors) for vehicle control.Although the vision quality estimator (20, 120 or 220) typically uses atleast five sections per crop row, virtually any number of sections maybe used to detect a crop row in each collected image. The vision qualityestimator (20, 120 or 220) may determine an r-squared value, aconfidence level, or another figure of merit for row center positions922 associated with the regression path 924.

FIG. 15A is a block diagram of an illustrative configuration of a visionquality estimator 220. The interconnections between the components (70,90, 92, 94 and 96) of FIG. 15A may represent logical data paths,physical data paths, or both.

The vision quality estimator 220 comprises an organizer 70 thatcommunicates with a density grid definer 90. The density grid definer 90outputs data to the filter 92, which filters the data for the arranger94. In turn, the arranger 94 outputs data for the estimator 96.

For the vision quality estimator 220 of FIG. 15A, the vision module 22may comprise a stereo vision imaging system for collecting image data(e.g., stereo image data) or vision data. The organizer 70 organizes acollected image data into crop pixels and non-crop pixels. The densitygrid definer 90 defines a density grid based on the number of croppixels within each grid cell or a group of grid cells. For example, eachgrid cell may be defined as a matrix of X pixels by Y pixels, where Xand Y are any positive whole numbers. Although the density of a gridcell may be defined as the ratio, fraction or percentage of crop pixelsto total pixels within the density grid, other definitions of thedensity are possible. The filter 92 defines density grid points as thosegrid cells whose values are greater than a threshold or a minimum numberof crop pixels per grid cell. The arranger 94 arranges a regression pathbased on the density grid points. The regression path represents apossible position and possible orientation (e.g., of a center) of a croprow or a windrow. An estimator 96 determines a confidence index asvision quality data based on the defined density grid points and theregression path. The confidence index is applied to a vehicle controlleror an adjuster 110 for steering a vehicle. The vision quality estimator220 may determine the confidence index in accordance with varioustechniques that may be applied alternately or cumulatively.

Under a first technique, the estimator 96 is arranged to determine amoment index of density grid points about the regression path and todetermine a cluster index based on an inverse function of the standarddeviation of the density grid points. The moment and cluster index aretwo measures to evaluate how close density grid points are distributedabout the regression path (e.g., regression line). Under a secondtechnique, the moment and cluster index are determined in accordancewith the first technique, where the image data or vision data comprisesstereo image data or filtered stereo image data. The moment and clusterindex are well suited for evaluating stereo image data, particularlyafter the stereo image data has been filtered to exceed a minimum cropheight (e.g., 1 meter). Under a third technique, the estimator 96estimates or determines the confidence index as a product of the momentindex and the cluster index. For example, confidence index is determinedin accordance with the following equation:

where C_(M) is the moment index given by

${C_{M} = {1 - \frac{M}{M_{\max}}}},M$ is moment of the density grid points around the regression line, andM_(max) is maximum moment, C_(C) is the cluster index given by

${C_{C} = {0.8 + \frac{0.2}{\sigma_{d}}}},{{{where}\mspace{14mu}\sigma_{d}} = \frac{\sum\limits_{i = 1}^{n}( {d_{i} - \overset{\_}{d}} )^{2}}{n - 1}},d_{i}$ is the orthogonal distance from a regression path (e.g., regressionline) to a density grid point and d is the mean distance of density gridpoints to the regression path, and n is the total number of density gridpoints, and σ_(d) represents a variance of the density grid points. Inan alternate embodiment, a deviation is derived from the square root ofthe variance; the deviation may be used as a substitute for the variancein the above equation.

FIG. 15B is a flow chart of one embodiment of a method for guiding avehicle based on vision-derived location data from vision data (e.g.,stereo vision data). The method of FIG. 15 starts in step S800.

In step S800, a vision module 22, image processing system 33, ororganizer 70 organizes a collected image into crop pixels and non-croppixels. For example, the vision module 22, image processing system 33,or organizer 70 may use color discrimination to sort or organize pixelsinto crop pixels and non-crop pixels. As previously noted, FIG. 9provides an illustrative example of the organization of the collectedimage into crop pixels and non-crop pixels.

In step S820, the vision quality estimator 220 or density grid definer90 defines a density grid based on the number of crop pixels within eachgrid cell. For example, the vision quality estimator 220 may divide thecrop pixels into a grid of cells (e.g., rectangular or hexagonal cellsof equal dimensions) and count or estimate the number of crop pixelswithin each grid cell. In one embodiment, the filter 92 flags, marks, orotherwise stores or indicates those grid cells in which the number ofcrop pixels meet or exceed a particular minimum number or threshold.

In step S824, the vision quality estimator 220 or arranger 94 arranges aregression path based on the density grid points, where the regressionpath represents a possible position and possible orientation (e.g., acenter or centerline) of a crop row.

In step S826, the vision quality estimator 220 or estimator 96determines a confidence index as a vision quality data based on thedefined density grid points and the regression path. The confidenceindex is applied to a vehicle controller 25 or an adjuster 110 forsteering a vehicle. The method of FIG. 15 is well suited for determininga confidence index or vision quality data for a stereo vision data orstereo vision images.

The vision quality module 220 may determine or estimate a confidenceindex by using a combination of a moment index (C_(M)) and a clusteringindex (C_(C)). The moment of the density grid points around theregression path or center line is calculated by:

$M = {\sum\limits_{i = 1}^{n}\frac{d_{i}^{2}}{D_{i}}}$

and the moment index is given by:

$C_{M} = {1 - \frac{M}{M_{\max}}}$

The clustering index is calculated by inverse function of the standarddeviation of the density grid points:

$C_{C} = {0.8 + \frac{0.2}{\sigma_{d}}}$$\sigma_{d} = \frac{\sum\limits_{i = 1}^{n}( {d_{i} - \overset{\_}{d}} )^{2}}{n - 1}$

FIG. 16 is a density grid 950 of crop feature points 954 representingcrop features or vegetation and a regression path (e.g., center line)associated with a crop row. Each crop feature point 954 may represent onor more crop pixels (e.g., a cluster of crop pixels). The density grid950 of FIG. 16 represents an illustrative example of a density grid 950that may be associated with the vision quality estimator 220 of FIG. 15Aand the method of FIG. 15B. The density grid 950 of FIG. 16 may bederived from a stereo image, for instance.

In FIG. 16, each crop feature point 954 represents a number of croppixels that meet or exceed a minimum number, density, or threshold. Asillustrated, crop feature points D₁, D₂ and D_(i) are identified and arelocated at x₁,y₁; x₂, y₂; and x_(i), y_(i), respectively. The regressionpath 952, L, (e.g., center line or regression line) of the density grid950 is used to estimate the position and orientation (e.g., center lineor axis) of the crop rows or crop feature. In an alternative embodiment,the regression path is the estimate of the cut/uncut crop edge.

If the density grid points or crop feature points 954 are sufficientlyclose to the regression path 952 or within a maximum aggregateseparation value, the confidence index or the vision quality data isgenerally acceptable or high. However, if the density grid points orcrop feature points 954 are further (than the maximum aggregateseparation value) from the regression path 952, the confidence index orvision quality data is low or generally unacceptable. The maximumaggregate separation value may be based on a statistical or mathematicalinterpretation (e.g., sum, mean, mode, or weighted average) of thedistances of the crop feature points 954 with respect to normalprojection (e.g., orthogonal projection) from the regression path 952.As illustrated, a first distance between crop feature point D₁ and theregression path is d₁; a second distance between crop feature point D₂and the regression path is d₂; an ith distance between crop featurepoint D_(i) and the regression path is d_(i).

Having described the preferred embodiment, it will become apparent thatvarious modifications can be made without departing from the scope ofthe invention as defined in the accompanying claims.

The following is claimed:
 1. A method for guiding a vehicle, the methodcomprising: determining preliminary guidance data for the vehicle baseda location-determining receiver associated with the vehicle during anevaluation time window; collecting vision data from a vision moduleassociated with the vehicle during the evaluation time window;determining vision guidance data from the collected vision data;estimating vision quality data for the vision guidance data during theevaluation time window, based on organizing a collected image into croppixels and non-crop pixels, defining a density grid based on the numberof crop pixels within each grid cell, defining a density grid points asthose grid cells whose values are greater than a threshold, arranging aregression path based on the density grid points, the regression pathrepresenting a possible position and possible orientation of a crop rowor a windrow, determining a confidence index as vision quality databased on a product of a moment index and a cluster index for applicationto a vehicle controller or an adjuster for steering a vehicle; adjustingthe preliminary guidance data to a revised guidance data based on thevision guidance data such that the revised guidance data is registeredwith or generally coextensive with the vision guidance data, if thevision quality data exceeds a minimum threshold; and guiding the vehiclein accordance with the revised guidance data.
 2. The method according toclaim 1 wherein the preliminary guidance data and revised guidance dataeach comprise at least one of heading data, off-track data, andcurvature data.
 3. The method according to claim 1 wherein thecollecting vision data comprises collecting the vision data via a stereovision imaging system.
 4. The method according to claim 1 wherein theconfidence index is a product of a moment index, C_(M), and a clusterindex, C_(C) as determined in accordance with the following equations:where C_(M) is the moment index given by${C_{M} = {1 - \frac{M}{M_{\max}}}},M$  is moment of density grid pointsaround a regression line, and M_(max) is maximum moments;  C_(c) is thecluster index given by${C_{C} = {0.8 + \frac{0.2}{\sigma_{d}}}},{{{where}\mspace{14mu}\sigma_{d}} = {\frac{\sum\limits_{i = 1}^{n}( {d_{i} - \overset{\_}{d}} )^{2}}{n - 1}.}}$where d_(i) is an orthogonal distance from a regression path to thedensity grid point; d is mean distance of the density grid points to theregression path; n is a total number of density grid points; and σ_(d)represents a variance of the density grid points.
 5. A method forestimating a vision quality data for guidance of a vehicle, the methodcomprising: organizing a collected image into crop pixels and non-croppixels; defining a density grid based on the number of crop pixelswithin each grid cell; defining a density grid points as those gridcells whose values are greater than a threshold; arranging a regressionpath based on the density grid points, the regression path representinga possible position and possible orientation of a crop row or a windrow;determining vision quality data based on evaluating how the defineddensity grid points are distributed about the regression path; anddetermining a cluster index as an inverse function of a standarddeviation of the density grid points, for application to a vehiclecontroller or an adjuster for steering the vehicle.
 6. The methodaccording to claim 5 wherein the confidence index is a product of amoment index, C_(M), and a cluster index, C_(C), as determined inaccordance with the following equation: where C_(M) is the moment indexgiven by ${C_{M} = {1 - \frac{M}{M_{\max}}}},M$  is moment of densitygrid points around a regression line, and M_(max) is maximum moment;C_(c) is the cluster index given by $\begin{matrix}{{C_{c} = {0.8 + \frac{0.2}{\sigma_{d}}}},} \\{where} \\{\sigma_{d} = {\frac{\sum\limits_{i = 1}^{n}\;( {d_{i} - \overset{\_}{d}} )^{2}}{n - 1}.}}\end{matrix}$ where d_(i) is an orthogonal distance from a regressionpath to the density grid point; d is mean distance of the density gridpoints to the regression path; n is a total number of density gridpoints; and σ_(d) presents a variance of the density grid points.
 7. Themethod according to claim 5 further comprising: collecting the imagedata via a stereo vision imaging system.
 8. A system for estimating avision quality data for guidance of a vehicle, the system comprising: anorganizer for organizing a collected image into crop pixels and non-croppixels; a density grid definer for defining a density grid based on thenumber of crop pixels within each grid cell; a filter for defining adensity grid points as those grid cells whose values are greater than athreshold; an arranger for arranging a regression path based on thedensity grid points, the regression path representing a possibleposition and possible orientation of a crop row or a windrow; and anestimator arranged for determining vision quality data based onevaluating how the defined density grid points are distributed about theregression path, and to determine a cluster index as an inverse functionof a standard deviation of the density grid points, for application to avehicle controller or an adjuster for steering the vehicle.
 9. Thesystem according to claim 8 wherein the confidence index is a product ofa moment index, C_(M), and a cluster index, C_(C), as determined inaccordance with the following equation: where C_(M) is the moment indexgiven by ${C_{M} = {1 - \frac{M}{M_{\max}}}},M$  is moment of densitygrid points around a regression line, and M_(max) is maximum moment;C_(C) is the cluster index given by $\begin{matrix}{{C_{c} = {0.8 + \frac{0.2}{\sigma_{d}}}},} \\{where} \\{\sigma_{d} = \frac{\sum\limits_{i = 1}^{n}\;( {d_{i} - \overset{\_}{d}} )^{2}}{n - 1}}\end{matrix}$ where d_(i) is an orthogonal distance from a regressionpath to the density point; d is mean distance of the density grid pointsto the regression path: n is a total number of density grid points; andσ_(d) presents a variance of the density grid points.
 10. The systemaccording to claim 8 further comprising: a stereo vision imaging systemfor collecting the image data.
 11. A system for estimating a visionquality data for guidance of a vehicle, the system comprising: anorganizer for organizing a collected image into crop pixels and non-croppixels; a density grid definer for defining a density grid based on thenumber of crop pixels within each grid cell; a filter for defining adensity grid points as those grid cells whose values are greater than athreshold; an arranger for arranging a regression path based on thedensity grid points, the regression path representing a possibleposition and possible orientation of a crop row or a windrow; and anestimator for determining a confidence index as vision quality databased on the defined density grid points and the regression path, theconfidence index comprising a product of the moment index and thecluster index for application to a vehicle controller or an adjuster forsteering a vehicle.